<HTML><HEAD>    <TITLE>Grammar of Taste</TITLE></HEAD><BODY><h2>EBNF Grammar of Taste</h2><pre>Taste =      "program" ident "{" {VarDecl} {ProcDecl} "}".VarDecl =    Type ident {"," ident} ";".ProcDecl =   "void" ident "(" ")" "{" {VarDecl | Stat} "}".Type =       "int" | "bool".Stat =       ident ("=" Expr ";" | "(" ")" ";")           | "if" "(" Expr ")" Stat ["else" Stat]           | "while "(" Expr ")" Stat           | "read" ident ";"           | "write" Expr ";"           | "{" {Stat | VarDecl} "}".Expr =       SimExpr [RelOp SimExpr].SimExpr =    Term {AddOp Term}.Term =       Factor {MulOp Factor}.Factor =     (ident | "true" | "false" | number | "-" Factor).AddOp =      "+" | "-".MulOp =      "*" | "/".RelOp =      "==" | "<" | ">".</pre></body></html>